'''
购物：
        1.用户的账户里有钱
        2.用户可推一个空的购物车进商场
        3.开始购物，将自己想要的商品添加购物车
        4.打印购物小条

程序和数据流程梳理分析：
	购前：
		钱要有：money
		有足够商品：列表来存储list
		有购物车：列表list

	购中：
		是否有这个商品：
			有
				钱够不够：
					够：
						添加到购物车！
						钱减去商品价格！
						恭喜，购买成功！您的卡余额还剩xxx
					不够：
						穷鬼，钱不够！请到其他超市购买！
			没有：
				没有这个商品，别瞎弄！
	购后：
		输入Q，q: 退出：
		打印购物小条！
'''
from datetime import datetime

money = 1000
shopList = {'香皂': 10, '肥皂': 20, '牙刷': 30, '牙膏': 40, '毛巾': 50}
shopCart = {}
while True:

    # 打印商品列表
    for key, value in shopList.items():
        print('商品:', key, '  价格：', value)
    print('结束添加请输入: Q / q')

    # 添加购物车
    shop = input('请输入要购买的商品：')
    if shop == 'Q' or shop == 'q':
        break
    elif shop in shopList:
        while True:
            number = int(input('请输入要购买的数目：'))
            if number > 0:
                shopCart[shop] = number
                print('添加成功')
                break
            else:
                print('请输入大于0的整数')
    else:
        print('没有这个商品')


# 结账
# 3.1 计算总金额
amount = 0
print('----------------------------')
print('购物清单：')
for shop, number in shopCart.items():
    value = number * shopList[shop]
    amount += value
    print('商品：' + str(shop) + '   数目：' + str(number) + "   价格：" + str(value))
print('总金额：' + str(amount))
print('时间：' + datetime.now().strftime('%Y-%m-%d  %H:%M:%S'))
print('----------------------------')
# 判断用户金额是否足够
if amount < money:
    money -= amount
    print('购买成功，余额：' + str(money))
else:
    print('余额不足')